package busterminal.command.bus;

import busterminal.command.AbstractCommand;
import busterminal.persistence.BusDAO;
import busterminal.services.ServiceLocator;
import java.util.Arrays;
import java.util.List;

/**
 * Класс, реализующий действие: поиск автобуса по государственному номеру
 */
public class FindByStateNumberCommand extends AbstractCommand {

    /**
     * Имя параметра "Государственный номер"
     */
    private final static String PARAM_STATE_NUMBER = "State number";

    /**
     * Конструктор по умолчанию
     */
    public FindByStateNumberCommand() {
        super("Find by state number bus");
    }

    /**
     * Выполнить команду: найти автобус
     */
    @Override
    public void execute() {
        BusDAO busDAO = ServiceLocator.getService(BusDAO.class);
        System.out.println(busDAO.findByStateNumber(parameters.get(PARAM_STATE_NUMBER)));
    }

    /**
     * Получить список имён параметров
     * @return список имён параметров
     */
    @Override
    public List<String> getParametersNames() {
        return Arrays.asList(PARAM_STATE_NUMBER);
    }
}
